home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 66
/
Vol 66.iso
/
games
/
bob_espo.swf
/
scripts
/
__Packages
/
Main.as
< prev
next >
Wrap
Text File
|
2013-04-24
|
9KB
|
309 lines
class Main extends State
{
static var PACKAGING_SECTION = "Packaging";
static var GAME_SECTION = "Game";
static var sSTATE_INIT = "Init";
static var sSTATE_PACKAGING = "Packaging";
static var sSTATE_GAME = "Game";
static var sSTATE_WIN = "WinScreen";
static var sSTATE_LOSE = "LoseScreen";
static var sSTATE_RESET = "Reset";
static var sSTATE_INSTRUCTIONS = "Instructions";
static var nFRAME_RATE = 35;
function Main(_mcRef)
{
super(_mcRef,false);
Stage.showMenu = false;
Main.oRef = this;
this.mcRef.onEnterFrame = Delegate.create(this,this.enterFrame);
this.sSection = Main.PACKAGING_SECTION;
this.oController = new Controller(this.mcRef);
this.oDynamicPack = null;
this.bQuitting = false;
this.bFinished = false;
this.bCheatClothesActivated = false;
this.bMustSendScore = false;
this.bEasterEgg = false;
this.oShadow = new Shadow(this.mcRef.mcShadow);
this.sState = Main.sSTATE_INIT;
this.oController.playMusicLoop(Main.PACKAGING_SECTION);
}
function doHide()
{
this.mcRef.visible = false;
}
function doShow()
{
this.mcRef.visible = true;
}
function winGame()
{
this.bFinished = true;
CTRLGame.getRef().Screen.getInterface().pauseTime();
if(CTRLGame.getRef().Level == CTRLGame.nLEVEL1)
{
this.calculateScore();
this.oController.goToNewLevel(this.game.Screen.getInterface().mcRef.mcSongs._currentframe);
}
else
{
this.oController.goTo(Main.sSTATE_WIN,this);
}
}
function loseGame()
{
this.bFinished = true;
CTRLGame.getRef().Screen.getInterface().pauseTime();
this.oController.goTo(Main.sSTATE_LOSE,this);
}
function startNewLevel()
{
this.bFinished = false;
var _loc2_ = CTRLGame.getRef().Level;
var _loc3_ = CTRLGame.getRef().Score;
this.game.cleanUp();
delete this.game;
this.game = null;
this.game = new CTRLGame(this.mcRef.mcState,_loc3_,_loc2_ + 1);
this.game.Screen.getInterface().doShow();
}
function updateScoreField()
{
if(this.sState == Main.sSTATE_GAME)
{
CTRLGame.getRef().Screen.getInterface().setScoreValue(CTRLGame.getRef().Score);
}
else if(this.sState == Main.sSTATE_WIN || this.sState == Main.sSTATE_LOSE)
{
this.mcRef.mcState.txtScore.text = Utils.styleNumber(CTRLGame.getRef().Score);
}
}
function doPause()
{
}
function doUnPause()
{
}
function onRestartButton()
{
this.resetForNewGame();
this.sStartDynamic = ScrollingPanel.sSTATE_TITLE;
this.oController.goTo(Main.sSTATE_PACKAGING,this);
}
function onHighScoresButton()
{
if(this.sState != Main.sSTATE_PACKAGING)
{
this.resetForNewGame();
}
this.bMustSendScore = false;
this.sStartDynamic = ScrollingPanel.sSTATE_HIGHSCORES;
this.oController.goTo(Main.sSTATE_PACKAGING,this);
}
function rollOverButton()
{
this.oController.playRollOverSound();
}
function clickPlayButton()
{
this.oController.playClickSound();
this.oController.goTo(Main.sSTATE_GAME,this);
}
function clickInstructionsButton()
{
this.oController.playClickSound();
this.oController.goTo(Main.sSTATE_INSTRUCTIONS,this);
}
function clickMenuButton()
{
this.oController.playClickSound();
this.oController.getMenu().doShow();
}
function clickQuitButton()
{
this.oController.playClickSound();
this.bQuitting = true;
this.loseGame();
}
function clickSubmitScore()
{
this.oController.playClickSound();
this.bMustSendScore = true;
this.resetForNewGame();
this.sStartDynamic = ScrollingPanel.sSTATE_HIGHSCORES;
this.oController.goTo(Main.sSTATE_PACKAGING,this);
}
function clickRestartButton()
{
this.oController.playClickSound();
this.onRestartButton();
}
function clickHighScoresButton()
{
this.oController.playClickSound();
this.onHighScoresButton();
}
function setState(_sState)
{
this.sLastState = this.sState;
super.setState(_sState);
this.initState(_sState);
}
function showHighScoreStuff(_btnSubmit)
{
_global.HS.initHiScores();
if(_global.gProxyObj.getIsLoggedIn())
{
_btnSubmit._visible = true;
}
else
{
_btnSubmit._visible = false;
}
if(_global.HS.G_ShowHighScore == false)
{
_btnSubmit._visible = false;
_btnSubmit._visible = false;
}
}
function setCheatClothes(_bActive)
{
this.bCheatClothesActivated = _bActive;
}
function setMustSendScore(_bMustSend)
{
this.bMustSendScore = _bMustSend;
}
function isCheatClothesActivated()
{
return this.bCheatClothesActivated;
}
function getSection()
{
return this.sSection;
}
function get Finished()
{
return this.bFinished;
}
function get MustSendScore()
{
return this.bMustSendScore;
}
function get EasterEgg()
{
return this.bEasterEgg;
}
function setEasterEgg(_bEasterEgg)
{
this.bEasterEgg = _bEasterEgg;
}
static function getRef()
{
return Main.oRef;
}
function Init()
{
if(this.mcRef.mcState.mcLoading._currentframe == this.mcRef.mcState.mcLoading._totalframes)
{
this.setState(Main.sSTATE_PACKAGING);
this.sStartDynamic = ScrollingPanel.sSTATE_TITLE;
}
}
function Packaging()
{
}
function Game()
{
if(Controller.getRef().isPaused() || CTRLGame.getRef().Screen.isInMiniGame())
{
if(!this.oShadow.isVisible())
{
this.oShadow.doShow();
}
}
else if(this.oShadow.isVisible())
{
this.oShadow.doHide();
}
}
function LoseScreen()
{
}
function WinScreen()
{
}
function calculateScore()
{
if(!this.bQuitting)
{
var _loc2_ = CTRLGame.getRef().Songs / Main.nFRAME_RATE;
if(_loc2_ - Math.round(_loc2_) != 0)
{
_loc2_ = Math.round(_loc2_);
_loc2_ = _loc2_ + 1;
}
else
{
_loc2_ = Math.round(_loc2_);
}
CTRLGame.getRef().addToScore(_loc2_ * LD.nSECOND_LEFT_VALUE);
}
}
function initState(_sState)
{
switch(_sState)
{
case Main.sSTATE_PACKAGING:
if(this.sLastState == Main.sSTATE_INIT)
{
this.oDynamicPack = new DynamicPack(this.mcRef.mcState,DynamicPack.sSTATE_ENTER,this.sStartDynamic);
}
else
{
this.oDynamicPack = new DynamicPack(this.mcRef.mcState,DynamicPack.sSTATE_IDLE,this.sStartDynamic);
}
break;
case Main.sSTATE_GAME:
if(this.sSection == Main.PACKAGING_SECTION)
{
this.oDynamicPack.cleanUp();
delete this.oDynamicPack;
this.oDynamicPack = null;
this.game = new CTRLGame(this.mcRef.mcState,0,1);
this.oController.playMusicLoop(Main.GAME_SECTION);
Controller.getRef().getStartPop().doInstantShow();
}
this.sSection = Main.GAME_SECTION;
break;
case Main.sSTATE_WIN:
CTRLGame.getRef().addToScore(LD.nWIN_BONUSPOINTS);
case Main.sSTATE_LOSE:
this.calculateScore();
this.oController.playMusicLoop(Main.PACKAGING_SECTION);
this.sSection = Main.PACKAGING_SECTION;
this.oEndScreen = new EndScreen(this.mcRef.mcState);
CTRLGame.getRef().Screen.getInterface().doHide();
this.oController.getMenu().doInstantHide();
this.oShadow.doInstantHide();
}
}
function enterFrame()
{
MainBroadcaster.Instance.doAction();
Broadcaster.Instance.doAction();
}
function resetForNewGame()
{
Broadcaster.Instance.flushBroadcaster();
this.oEndScreen.cleanUp();
delete this.oEndScreen;
this.oController.resetForNewGame();
this.game.cleanUp();
delete this.game;
this.game = null;
this.bQuitting = false;
this.bFinished = false;
}
}